#!/usr/bin/perl use strict; use warnings; use LWP::Simple; use utf8; use Spreadsheet::WriteExcel; use Spreadsheet::ParseExcel; binmode(STDOUT, ":utf8"); print "Geben Sie die Inputdatei ein : "; my $input = ; chomp $input; my $parser = Spreadsheet::ParseExcel->new(); my $book = $parser->parse($input); my %tt; if ( !defined $book ) { die $parser->error(), ".\n"; } # Extraktion von Titelzeile for my $sheet ( $book->worksheets() ) { my ( $row_min, $row_max ) = $sheet->row_range(); my ( $col_min, $col_max ) = $sheet->col_range(); my $i = 0; for my $col ( $col_min .. $col_max ) { my $title = $sheet -> get_cell(0, $col); $tt{$title->value()} = $i; print "" ,$title->value(), ", "; $i++; } } print "\n"; print "Wählen Sie einen Spalte aus : "; my $feld = ; chomp $feld; my @query; # Extraktion der Inhalte for my $sheet ( $book->worksheets() ) { my ( $row_min, $row_max ) = $sheet->row_range(); for my $row ( $row_min .. $row_max ) { my $cell = $sheet->get_cell( $row, $tt{$feld} ); next unless $cell; print "", $cell->value(),"\n"; push @query, $cell->value(); } } # Definition : Output-Datei (*.xls Format) & Titel Zeile my $workbook = Spreadsheet::WriteExcel -> new('e_components.xls'); my $worksheet = $workbook -> add_worksheet(); $worksheet -> write(0,0,'Component'); $worksheet -> write(0,1,'Arroweurop'); ... ... our $row = 1; shift @query; foreach(@query){ chomp; $worksheet -> write($row,0,$_); my $min = 10000; # Arroweurop my $lief = 'Arroweurop'; my $url = 'http://components.arrow.com/part/search/'.$_.'?region=arrowce'; my $html = get($url); ... ...