Du befindest dich hier: FSI Informatik » Informationen » linuxkurs » Aufgabensammlung » Mensaskript   (Übersicht)

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
informationen:linuxkurs:aufgabensammlung:mensa [18.10.2016 15:01] rudisinformationen:linuxkurs:aufgabensammlung:mensa [10.11.2022 13:44] (aktuell) Xinthra
Zeile 14: Zeile 14:
 use HTML::TreeBuilder (); use HTML::TreeBuilder ();
 use WWW::Mechanize (); use WWW::Mechanize ();
- 
  
 my $URL = 'http://www.werkswelt.de/?id=sued'; my $URL = 'http://www.werkswelt.de/?id=sued';
  
 +my @color = ("\e[31m","\e[33m","\e[32m");
 +my $color_reset = "\e[m";
  
 sub get_food { sub get_food {
 +    my $idx = shift;
     my ($html) = @_;     my ($html) = @_;
  
Zeile 26: Zeile 28:
  
         $line =~ m{<h4>(.+?)</h4>} or die;         $line =~ m{<h4>(.+?)</h4>} or die;
-        say $1;+        say "$color[$idx]$1$color_reset";
  
         while ($line =~ m{(Essen \d+)</br>(.+?)</br>}g) {         while ($line =~ m{(Essen \d+)</br>(.+?)</br>}g) {
Zeile 33: Zeile 35:
  
             $name =~ s{<sup>.+?</sup>}{}g;             $name =~ s{<sup>.+?</sup>}{}g;
 +            $name =~ s{\([\d\w,]+\)}{}g;
             $name =~ s{\s+}{ }g;             $name =~ s{\s+}{ }g;
-            say "  $food: $name";+            say "  $color[$idx]$food:$color_reset $name";
         }         }
     }     }
Zeile 42: Zeile 45:
  
 $mech->get($URL); $mech->get($URL);
-get_food($mech->content);+get_food(0,$mech->content);
  
 for (my $i = 0; $i < 2; $i++) { for (my $i = 0; $i < 2; $i++) {
     my $next = $mech->current_form->find_input(undef, 'submit', 3);     my $next = $mech->current_form->find_input(undef, 'submit', 3);
     $mech->click_button(input => $next);     $mech->click_button(input => $next);
-    get_food($mech->content);+    get_food($i+1, $mech->content);
 } }
 </code> </code>