http://www.perlmonks.org?node_id=730076


in reply to RE: Number of times I've used goto in Perl
in thread Number of times I've used goto in Perl

I tend to use goto quite liberally. For example, below, I want to exit the sub if the $project does not have the IconView initialized yet. Also, if no items were selected, I want to return. In both cases I want to give the same warning and return.

    It is possible to avoid using goto here:
  1. eval the get_selected_items and check for error
  2. do a return instead of goto
  3. ...

But, to me, this seems like it is much easier (and clearer) to use goto instead of coming up with all possible structures and so on just to avoid using goto.

goto NO_EXIF unless (defined($project->{LG}->{IMG_ICONVIEW})); my @img_selected = $project->{LG}->{IMG_ICONVIEW}->get_selected_it +ems(); my @dock_selected = $project->{LG}->{DOCK_ICONVIEW}->get_selected_ +items(); ## check that any images are selected if (scalar(@img_selected) + scalar(@dock_selected) < 1) { NO_EXIF: GUIFunctions->warn("Some message"); return; }